Method and apparatus for motion estimation using adaptive search pattern for video sequence compression

ABSTRACT

In a method for motion estimation using adaptive patterns in a video sequence compression system, an initial search pattern located at a center of a search window in a block of a video frame is determined. A location of a minimum block distortion measure (BDM) is searched in the initial search pattern. A horizontal search pattern for functioning on the search window is determined in the horizontal direction to search a location of a minimum BDM in the horizontal search pattern. A vertical search pattern for operating on the search window is determined in the vertical direction to search a location of a minimum BDM in the vertical search pattern. The location of the minimum BDM in each pattern is designated to be a motion vector. A search pattern to be used in a subsequent searching stage is determined based on the location of the minimum BDM in each pattern.

FIELD OF THE INVENTION

The present invention relates to a video sequence compression technique;and, more particularly, to a method and apparatus for motion estimationusing adaptive search patterns for a video sequence compression, whichis suitable for providing a better motion estimation precision and ahigher computational efficiency in a motion compensation technique amongcompression technologies using a correlation between video frames.

BACKGROUND OF THE INVENTION

A motion compensation compression technique refers to a technology forremoving a temporal redundancy between successive video frames by usinga motion estimation technique. A block-based motion estimation techniquehas been adopted in a compression standard of a video sequence such asMPEG-4, H.263 and the like.

The block-based motion estimation technique is widely used even in caseof another compression standard due to its facility of implementation inhardware and/or software.

In the block-based motion estimation technique, each video frame isdivided into a plurality of blocks, wherein each of the blocks isassociated with a motion vector to describe a location change between ablock in a reference video frame and that of a current video framecorresponding to the block in the reference video frame. The motionvector can be obtained from the location change of most similar blocksin the two frames. In other words, based on a block distortion measure(BDM) for calculating similarity between blocks, a block having aminimum BDM value is selected.

However, a currently used block-based motion estimation technique isconsidered to require a great amount of computation and much timetherefor. To be specific, a full search motion estimation regarded to becomparatively accurate calculates a mean absolute deviation for everyblock in a search window of a predetermined size and selects a blockhaving a minimum value thereof to thereby obtain a motion vector. Inthis case, a computational amount for the motion vector occupies morethan 70% of that for an entire video compression.

To that end, a plurality of fast block-based motion estimationtechniques have been suggested. However, such techniques are sub-optimaland do not provide as high of accuracy as the full search motionestimation technique because of an error caused by an assumption forapplying an estimation method.

SUMMARY OF THE INVENTION

It is, therefore, an object of the present invention to provide a motionestimation method and apparatus using adaptive search patterns of avideo sequence compression system, which is computationally efficientand improves the accuracy of the full search motion estimation, whereina search pattern is determined based on a result of a previous searchprocess and a horizontal and a vertical search pattern are adaptivelydetermined in each stage of the search process.

In accordance with one aspect of the invention, there is provided amethod for motion estimation using adaptive patterns in a video sequencecompression system, including the steps of: (a) determining an initialsearch pattern located at a center of a search window in a block of avideo frame; (b) searching a location of a minimum block distortionmeasure (BDM) in the initial search pattern; (c) determining ahorizontal search pattern for functioning on the search window in thehorizontal direction to search a location of a minimum BDM in thehorizontal search pattern; (d) determining a vertical search pattern foroperating on the search window in the vertical direction to search alocation of a minimum BDM in the vertical search pattern; (e)designating the location of the minimum BDM in the initial searchpattern to be a motion vector; (f) designating the location of theminimum BDM in the horizontal search pattern to be a motion vector; (g)designating the location of the minimum BDM in the vertical searchpattern to be a motion vector; (h) determining a search pattern to beused in a subsequent searching stage based on the location of theminimum BDM in the initial search pattern; (i) determining a searchpattern to be used in a subsequent searching stage based on the locationof the minimum BDM in the horizontal search pattern; and (j) determininga search pattern to be used in a subsequent searching stage based on thelocation of the minimum BDM in the vertical search pattern.

In accordance with another aspect of the invention, there is provided anapparatus for motion estimation using adaptive search patterns for avideo sequence compression, including; a current image block generationmeans for generating a current image block; a previous image blockgeneration means for generating a previous image block; a first and asecond memory for storing image blocks generated by the current imageblock generation means and the previous image block generation means;and a pattern determination and motion estimation means for retrievingdata of image block stored in the first and the second memory to searcha location of a minimum BDM in a current search pattern of the data ofthe retrieved image block and determining a next search pattern to beused in a subsequent searching stage depending on the location of theminimum BDM.

BRIEF DESCRIPTION OF THE INVENTION

The above and other objects and features of the present invention willbecome apparent from the following description of preferred embodiments,given in conjunction with the accompanying drawings, in which:

FIG. 1 shows an exemplary diagram of an initial search pattern employedin the present invention;

FIG. 2 illustrates an exemplary diagram of a horizontal search patternemployed in the present invention;

FIG. 3 provides an exemplary diagram of a vertical search patternemployed in the present invention;

FIGS. 4A and 4B present examples of search determination patterns on alocation basis in the horizontal search pattern employed in the presentinvention;

FIGS. 5A and 5B represent examples of search determination patterns on alocation basis in the vertical search pattern employed in the presentinvention;

FIG. 6 offers an exemplary diagram for showing a search pattern applyinga motion estimation method in accordance with a preferred embodiment ofthe present invention;

FIG. 7 describes a block diagram of a video encoder employed in thepresent invention; and

FIG. 8 sets forth a detailed block diagram of a motion estimation unitof FIG. 7 in accordance with another preferred embodiment of the presentinvention.

DESCRIPTION OF SPECIFIC EMBODIMENTS

Hereinafter, preferred embodiments of the present invention will bedescribed in detail with reference to the accompanying drawings.

The present invention is applied to a general video sequence compressiontechnology and may be applicable to software for operating acircuit/computer or other devices capable of a video processing.

FIGS. 1 to 3 illustrate examples of search patterns employed in thepresent invention.

FIG. 1 shows a case where an initial search pattern is located in acenter of a search window so that an initial direction is determined.

To be specific, a block distortion measure (BDM) value is evaluated foreach of five search locations, i.e., locations 0 to 4 of the initialsearch pattern. If a minimum BDM value is found to be at the location 0thereof, no more search process is continued and a motion estimationprocess is ended. In this case, a motion vector (MV) is defined at (0,0).

Meanwhile, if a minimum BDM value occurs at either the location 1 or 3thereof, a horizontal search pattern illustrated in FIG. 2 is used in anext stage. In case a minimum BDM value corresponds to either thelocation 2 or 4 thereof, a vertical search pattern illustrated in FIG. 3is used in the next stage.

The horizontal and the vertical search patterns shown in FIGS. 2 and 3respectively have eight search locations. A motion vector is determineddepending on the search locations, specifically, a location where theminimum BDM value occurs. If a minimum BDM value occurs at either alocation 0 or 1 of the horizontal and the vertical search patterns, amotion vector is determined depending on the location where the minimumBDM value occurs. Then, the motion estimation process is ended.

In case a minimum BDM value is found at one of other locations of thehorizontal and the vertical search patterns except the locations 0 and1, a search pattern to be applied to a next stage is also determineddepending on the location where the minimum BDM value is found.

That is to say, if either a location 2 or 5 of the horizontal and thevertical search patterns has the minimum BDM value, the horizontalsearch pattern shown in FIG. 2 is again used in a next stage as shown inFIG. 4 a.

To be more specific, if the minimum BDM value is found to be at thelocation 2 of the horizontal search pattern shown in FIG. 2, thelocation 2 is determined to be a location 0 of the horizontal searchpattern to be used in the next stage. In case the minimum BDM valueoccurs at the location 5 of the horizontal search pattern shown in FIG.2, the location 5 corresponds to the location 1 of the horizontal searchpattern to be used in the next stage.

Meanwhile, in case where a minimum BDM value occurs at one of locations3, 4, 6 or 7 of the horizontal search pattern shown in FIG. 2, a searchpattern to be used in a next stage is determined to be the verticalsearch pattern shown in FIG. 3.

An example thereof is illustrated in FIG. 4B. In case a minimum BDMvalue is found at either the location 3 or 4 of the horizontal searchpattern shown in FIG. 2, the location where the minimum BDM value isfound is determined to be a location 0 of the vertical search pattern tobe used in a next stage.

Besides, if a minimum BDM value is found to be at either the location 6or 7 of the horizontal search pattern shown in FIG. 2, the locationwhere the minimum BDM value is found is determined to be a location 1 ofthe vertical search pattern to be used in a next stage.

In case of the vertical search pattern shown in FIG. 3, if a minimum BDMvalue occurs at either a location 2 or 5, the vertical search patternshown in FIG. 3 is again used in a next stage. On the other hand, if aminimum BDM value corresponds to one of locations 3, 4, 6 or 7 of thevertical search pattern shown in FIG. 3, the horizontal search patternshown in FIG. 2 is used in a next stage.

For example, if a minimum BDM value occurs at the location 5 of thevertical search pattern shown in FIG. 3, the location 5 is determined tobe the location 0 of the vertical search pattern to be used in a nextstage. Further, if a minimum BDM value is at the location 2 of thevertical search pattern shown in FIG. 3, the location 2 is determined tobe the location 1 of the vertical search pattern to be used in a nextstage.

In case a minimum BDM value corresponds to either the location 3 or 4 ofthe vertical search pattern shown in FIG. 3, the location where theminimum BDM value is found is determined to be the location 1 of thehorizontal search pattern to be used in the next stage. Besides, in casea minimum BDM value occurs at either the location 6 or 7 of the verticalsearch pattern shown in FIG. 3, the location where the minimum BDM valueis found is determined to be the location 0 of the horizontal searchpattern to be used in the next stage.

FIG. 6 offers an exemplary diagram for showing a search pattern inaccordance with the present invention. Especially, there illustrated acase where a minimum BDM value is found to be at a location 3 in aninitial search pattern as shown in FIG. 1.

In a first stage, a BDM value is evaluated for five locations of theinitial search pattern.

As a result thereof, in a second stage, a location having a minimum BDMvalue, i.e., the location 3, is detected In a second stage, a horizontalsearch pattern as shown in FIG. 2 is used in a next stage, and thelocation 3 is determined to be the location 1 of the horizontal searchpattern.

Meanwhile, the minimum BDM value exists at the location 4 of thehorizontal search pattern, and therefore, a vertical search pattern asshown in FIG. 4B is used in a third stage.

Further, since the minimum BDM value is at the location 3 of thevertical search pattern of the third stage, a horizontal search patternas illustrated in FIG. 5B is used in a fourth stage.

In a fifth stage, the minimum BDM value is found to be at a location 0of the horizontal search pattern, so that the motion estimation processis ended, and finally, a final motion vector is determined to be at (3,−2).

FIG. 7 describes a block diagram of a video encoder employing the motionestimation method in accordance with the present invention, wherein thevideo encoder includes a block generation unit 702, a DCT conversionunit 703, a quantization unit 704, a motion estimation unit 706, amotion compensation unit 707, an inverse DCT conversion unit 708 and aninverse quantization unit 709.

The block generation unit 702 divides each frame in a video sequenceinto blocks of a regular size, e.g., 8×8.

Each of the blocks generated by the block generation unit 702 isprovided to the motion estimation unit 706 and the motion compensationunit 707, so that the motion compensation is performed.

The DCT conversion unit 703 performs a DCT conversion on the block inwhich the motion compensation is carried out by the motion compensationunit 707. The quantization unit 704 quantizes the DCT converted block,to thereby output a quantized encoding stream.

Further, the inverse DCT conversion unit 708 and the inversequantization unit 709 are utilized for using a correlation betweenframes in the video encoder of FIG. 7.

Various motion estimation algorithms are applied to the motionestimation unit 706. The video encoder including the motion estimationunit 706 performs motion estimation by using the method described inFIGS. 1 to 5.

FIG. 8 sets forth a detailed block diagram of the motion estimation unit706 of FIG. 7, wherein the motion estimation unit 706 includes a currentframe block generation unit 801, a previous frame block generation unit803, a first and a second memory 802 and 804, a pattern memory 805, apattern determination unit 806 and a motion estimation unit 807. A solidline in FIG. 8 indicates a data signal flow and a dotted line thereinrepresents an actuating signal flow.

As illustrated in FIG. 8, the current image block generation unit 801and the previous image block generation unit 803 generate image blocksto be used in the motion estimation unit 807 and then send the generatedblocks to the first and the second memory 802 and 804.

The first and the second memory 802 and 804 respectively store the imageblocks transmitted from the current image block generation unit 801 andthe previous image block generation unit 803 and then send the storedimage blocks to the motion estimation unit 807.

Based on data of the transmitted block, the motion estimation unit 807performs a motion estimation process by using patterns in accordancewith the present invention as described above.

In other words, the motion estimation unit 807 sends an actuating signalto the pattern determination unit 806 and the pattern determination unit806 provides the actuating signal to the pattern memory 805. Thus, thepattern memory 805 receives search patterns described in FIGS. 1 to 3.

The search patterns transmitted to the pattern memory unit 805 areprovided to the motion estimation unit 807 again to thereby be used fora search process.

Depending on a result of the search process performed by using thetransmitted search patterns, the motion estimation unit 807 sends searchpatterns to be used in a next stage to the pattern determination unit806 and the pattern memory unit 805 through the actuating signal, sothat the above-described processes are repeated.

If the minimum BDM value is found to be at the location 0 or 1 of FIGS.2 and 3 thereby ending the motion estimation process, a motion vector MVdepending on the above-mentioned search locations is outputted.

The present invention is able to provide a computationally efficientmotion estimation method and avoid a convergence to a location minimumvalue that may occur during the search process.

While the invention has been shown and described with respect to thepreferred embodiments, it will be understood by those skilled in the artthat various changes and modifications may be made without departingfrom the spirit and scope of the invention as defined in the followingclaims.

1. A method for motion estimation using adaptive patterns in a videosequence compression system, comprising the steps of: (a) determining aninitial search pattern located at a center of a search window in a blockof a video frame; (b) searching a location of a minimum block distortionmeasure (BDM) in the initial search pattern; (c) determining ahorizontal search pattern for functioning on the search window in thehorizontal direction to search a location of a minimum BDM in thehorizontal search pattern; (d) determining a vertical search pattern foroperating on the search window in the vertical direction to search alocation of a minimum BDM in the vertical search pattern; (e)designating the location of the minimum BDM in the initial searchpattern to be a motion vector; (f) designating the location of theminimum BDM in the horizontal search pattern to be a motion vector; (g)designating the location of the minimum BDM in the vertical searchpattern to be a motion vector; (h) determining a search pattern to beused in a subsequent searching stage based on the location of theminimum BDM in the initial search pattern; (i) determining a searchpattern to be used in a subsequent searching stage based on the locationof the minimum BDM in the horizontal search pattern; and (j) determininga search pattern to be used in a subsequent searching stage based on thelocation of the minimum BDM in the vertical search pattern.
 2. Themethod of claim 1, wherein ones of the locations on the initial searchpattern, the horizontal search pattern and the vertical search patternare overlapped and the overlapped search location is excluded indetermining a BDM.
 3. The method of claim 2, wherein the initial searchpattern includes 4n+1 search locations which is formed of a single oneat the center of the initial search pattern and 2n in each of thevertical and the horizontal direction from the center thereof, thehorizontal search pattern for functioning in the horizontal directionincludes hexagonal 8n search locations which is formed of 2n in a toprow, 4n in a middle row and 2n in a bottom low, and the vertical searchpattern for operating in the vertical direction includes hexagonal 8nsearch locations which is formed of 2n in a left side column, 4n in amiddle column and 2n in a right side column, n being a positive integer.4. The method of claim 3, wherein the step (h) includes the steps of:(h1) determining the vertical search pattern to be a search pattern tobe used in a subsequent searching stage in case a minimum BDM occurs atone of the 2n search locations in each of the top and the bottom row;(h2) determining the horizontal search pattern to be a search pattern tobe used in a subsequent searching stage in case a minimum BDM is foundat one of the 2n search locations in each of the left and the right sidecolumn; and (h3) ending a search process in case a minimum BDMcorresponds to the center.
 5. The method of claim 4, wherein the step(i) includes the steps of: (i1) ending a search process in case aminimum BDM occurs at one of 2n search locations in a center of themiddle row; (i2) selecting the horizontal search pattern for asubsequent searching stage in case a minimum BDM is found at one of thesearch locations of both sides except the 2n search locations in thecenter of the middle row; and (i3) selecting the vertical search patternfor a subsequent searching stage in case a minimum BDM is at one of thesearch locations in the top and the bottom row.
 6. The method of claim5, wherein the step (j) includes the steps of: (j1) ending a searchprocess in case a minimum BDM occurs at one of 2n search locations in acenter of the middle column; (j2) selecting the vertical search patternfor a subsequent searching stage in case a minimum BDM is found at oneof vertical search locations except the 2n search locations in thecenter of the middle column; and (j3) selecting the horizontal searchpattern for a subsequent searching stage in case a minimum BDM is at oneof the search locations in the 4n number of search locations in the leftand the right column.
 7. An apparatus for motion estimation usingadaptive search patterns for a video sequence compression, comprising; acurrent image block generation means for generating a current imageblock; a previous image block generation means for generating a previousimage block; a first and a second memory for storing the image blocksgenerated by the current image block generation means and the previousimage block generation means; and a pattern determination and motionestimation means for retrieving data of image block stored in the firstand the second memory to search a location of a minimum BDM in a currentsearch pattern of the data of the retrieved image block and determininga next search pattern to be used in a subsequent searching stagedepending on the location of the minimum BDM.
 8. The apparatus of claim7, wherein the pattern determination and motion estimation meansrepeatedly estimates a new search pattern to be used in a subsequentsearching stage based on a result of a search process performed by usingthe next search patterns.